package com.hyt.it.ogt.kq.common.gov.constant;

import lombok.Getter;

/**
 * 枚举类，通用
 *  * @author Chengxh
 */
@Getter
public enum StringCodeEnum {

    /**
     * 编排参数
     */
    ARRANGE_PARAM_ARRANGE_RULE("arrangeRule","编排规则") , // 编排规则，0：机构层级划分，1：自定义层级划分，2：考区划分，3-随机编排
    ARRANGE_PARAM_ARRANGE_TYPE("arrangeType","编排方式") , // 编排方式，0：虚拟考场编排，1：实体考场编排，2：自定义编排
    ARRANGE_ROOM_SUBJECT("roomSubject", "考场单多科目：1：多科目，0：单科目"),
    ARRANGE_SAME_ROOM("sameRoom", "固定同一考场，1：固定，0：不固定"),
    ARRANGE_PARAM_SAME_ADMISSION_NUMBER("sameAdmissionNumber", "多科目是否同一准考证，true：是，false：否"),
    ARRANGE_OFFICE_LEVEL("arrangeOfficeLevel", "机构层级，1：一级机构，2：二级机构，3：三级机构，4：四级机构"),
    ARRANGE_SELF_LEVEL("arrangeSelfLevel", "自定义层级，1：一级机构，2：二级机构，3：三级机构"),
    ARRANGE_PARAM_CONFIG("arrangeConfig","编排高级设置") ,
    ARRANGE_PARAM_GROUP_YEAR("groupYear","组合方式，年") ,
    ARRANGE_PARAM_GROUP_PROVINCE("groupProvince","组合方式，省") ,
    ARRANGE_PARAM_GROUP_CITY("groupCity","组合方式，市") ,
    ARRANGE_PARAM_GROUP_DISTRICT("groupDistrict","组合方式，县区") ,
    ARRANGE_PARAM_GROUP_RANDOM("groupRandom","组合方式，随机") ,
    ARRANGE_PARAM_GROUP_AUTO("groupAuto","组合方式，自动增长") ,
    ARRANGE_PARAM_MANUAL_AUTO_MAX("manualAutoMax","手动编排，自增部分的最大值") ,
    ARRANGE_PARAM_ROOM_MAX_CANDIDATE_COUNT("roomMaxCandidateCount", "考场最大人数"),
    ARRANGE_STATUS_ON("true", "启用"),
    ARRANGE_PARAM_GROUP_RANDOM_DIGIT("groupRandomDigit", "组合方式，随机位数"),
    ARRANGE_PARAM_ADMISSION_TYPE("admissionType", "准考证生成方式"),
    ARRANGE_PARAM_GROUP_AUTO_DIGIT("groupAutoDigit", "组合方式，自增位数"),
    ARRANGE_PARAM_MANUAL("manual", "自定义前缀"),
    ARRANGE_PARAM_MANUAL_INCREASE_DIGIT("manualIncreaseDigit", "自增序号"),
    ARRANGE_PARAM_RANDOM_PARAM("randomParam", "随机参数"),
    ARRANGE_PARAM_RANDOM_DIGIT("randomDigit", "随机位数"),
    ARRANGE_PARAM_ROOM_TYPE("roomType", "考场类型"),
    ARRANGE_PARAM_RANDOM_NUMBER_DIGIT("randomNumberDigit", "随机数位数"),

    /**
     * 编排参数值
     */
    ARRANGE_PARAM_ROOM_TYPE_FICTITIOUS("0", "考场类型，虚拟考场"),
    ARRANGE_PARAM_ROOM_TYPE_PHYSICAL("1", "考场类型，物理考场"),

    /**
     * 线下机考是否立即结束考试
     */
    FORCED_END_TRUE("1", "线下机考是立即结束考试"),
    FORCED_END_FALSE("0", "线下机考否立即结束考试"),

    /**
     * 文件后缀名
     */
    FILE_SUFFIX_DOT_XML(".XML","xml文件后缀，带点"),
    FILE_SUFFIX_DOT_ZIP(".zip","zip文件后缀，带点"),
    FILE_SUFFIX_DOT_PDF(".pdf","pdf文件后缀，带点"),
    FILE_SUFFIX_DOT_XLS(".XLS","excel文件后缀，带点"),
    FILE_SUFFIX_DOT_XLSX(".XLSX","excel文件后缀，带点"),
    EXCEL_XLS("XLS","excel文件后缀"),
    EXCEL_XLSX("XLSX","excel文件后缀"),
    OBT_ODA("oda", "OBT考试系统考试结果主包"),
    OBT_OKW("okw", "OBT考试系统考试结果校验包"),
    GCE_CDP("cdp", "GCE考试系统考试结果主包"),
    GCE_CKP("ckp", "GCE考试系统考试结果校验包"),
    TEST_INVENTORY_FILE_NAME("EnvParameter.xml", "测试项清单文件名"),

    /**
     * 任务参数类型
     */

    TASK_CONFIG_TYPE_BEHAVIOR("behavior","行为分析"),
    TASK_CONFIG_TYPE_CLIENT("examClient","考试客户端参数"),
    TASK_CONFIG_TYPE_CONFIG("examConfig","考试参数"),

    /**
     * 数据推送类型
     */
    PUSH_TYPE_INSERT("insert", "新增"),
    PUSH_TYPE_UPDATE("update", "修改"),
    PUSH_TYPE_DELETE("delete", "删除"),

    /**
     * 考试任务报名id值
     */
    TASK_SIGN_UP_ID_IMPORT("0", "考试任务内导入考生（非绑定报名任务）"),

//    /**
//     * 批次考生最大数，虚拟考场编排时使用
//     */
//    TIME_CANDIDATE_COUNT_MAX_KEY("maxTimeSubjectCandidateCount", "批次考生最大数key"),

    ;

    private final String code;
    private final String name;

    StringCodeEnum(String code, String name) {
        this.code = code;
        this.name = name;
    }

}
